package com.zmovie.framework.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zmovie.framework.domain.Session;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.Date;
import java.util.List;

/**
* @author lenovo
* @description 针对表【session】的数据库操作Service
* @createDate 2023-12-03 16:40:25
*/
public interface SessionService extends IService<Session> {
    /**
     * 分页条件查询
     * @param pageNo 页码
     * @param pageSize 页大小
     * @param session 分装条件
     */
    Page<Session> pageSession(Integer pageNo, Integer pageSize, Session session);

    /**
     * 条件修改影厅状态
     * @param session state
     */
    boolean updateSession(Session session);

    List<Session> listByCinemaId(Integer cinemaId);

    /**
     * 条件查询 可购票的场次
     * @param session cinemaId movieId date
     * @return
     */
    List<Session> listCondition(Session session);

    /**
     * 电影院下可播放电影ids
     * @param cinemaId 影院id
     */
    List<Integer> listMovieIdsByCinemaId(Integer cinemaId);

    /**
     * 电影院下电影的可售日期列表
     * @param cinemaId 影院id
     * @param movieId 电影id
     */
    List<Date> listDateByCinemaIdAndMovieId(Integer cinemaId, Integer movieId);

}
